﻿#ifndef DIALADDSTUINFO_H
#define DIALADDSTUINFO_H

#include <QDialog>
#include "CStuInfo.h"
#include <QMetaType>

namespace Ui {
class DialAddStuInfo;
}

class DialAddStuInfo : public QDialog
{
    Q_OBJECT

public:
    explicit DialAddStuInfo(QWidget *parent = nullptr);
    ~DialAddStuInfo();

    // 修改信息时，要把当前item的数据全部显示出来
    void showItemInfo(int p_id,QString p_name,QString p_gender,QString p_politId,
                      QString p_phoneNum,QString p_address,float p_gpa);

    // 设置标志，选择修改信息还是添加信息
    bool getIsModOrAdd() const;
    void setIsModOrAdd(bool value);

    // 修改按钮显示
    void setAddBtnText(QString text);

public slots:
    void on_btnClearAll_clicked();

private slots:

    void on_btnAddStu_clicked();

    void on_btnCancel_clicked();

signals:
    void sig_addInfo(CStuInfo &stuInfo);

    void sig_modInfo(CStuInfo &stuInfo);

private:
    Ui::DialAddStuInfo *dialAdd_ui;

    bool isModOrAdd;        // modify true / add false
};
// 学习------------------------------
Q_DECLARE_METATYPE(CStuInfo)
/*
 * 自定义的数据类型，需要声明，然后在接收的地方注册
     qRegisterMetaType<CStuInfo>("CStuInfo");
     qRegisterMetaType<CStuInfo>("CStuInfo&");
*/
#endif // DIALADDSTUINFO_H
